feat(pvm): run App Manifest v2 runtimes in Dotli - #185
Conversation
⚡ Performance Report
|
Bundle Size ReportChunks over 500 KB:
All files
Commit: a72f59d |
|
@justraman the PVM change is green across formatting, build, unit, functional, and the canonical seven-app Dotli matrix. The broad host-playground E2E remains red on the same account, allowance, and navigation failures as current main (the latest main Tests runs also fail); it does not exercise this PVM path. Could you review the runtime adapter so this can follow host-rust-core#540? |
|
Revended reviewed host-rust-core commit 56c67a306fc276129829f94db85a622061e17882. Re-ran the canonical matrix on this exact vendor: Doom, Quake, Duke3D, NES, egui kitchen sink, GPU Cube, and Scene Lab all passed through Dotli's compiler backend. |
|
CI diagnosis: the red E2E job is not specific to this branch.
No Dotli source change is justified for this shared signer/product-account path; the check needs the external E2E dependency restored or the repository's existing external-outage policy applied. |
|
Repair requires provisioning the |
4ec7254 to
1c897b3
Compare
Live PVM acceptance on
|
| asset | status | size |
|---|---|---|
pvm-wasm-worker.js |
200 | 70,676 B |
pvm-browser-runtime.wasm |
200 application/wasm |
977,926 B |
Resolution chain, end to end
Host resolved the DotNS label, threaded the CID through the URL contract, and mounted the sandbox with the v=4 executable-manifest contract (the older failure was v=3 without it):
responsive-egui00.paseo→bafybeiawkfp3wps7azyww6omgfjphxuwu3w7do2aafy2xtylno45gwyfqiresponsive-egui.paseo→bafybeidldnath3lzdste4h3b5rqckvorsmkuvmejnfr4wmzkga77tz5kte
Both on network=paseo-next-v2, profile=tri2d, pointer + keyboard in requiredFeatures.
Runtime metrics
| product | backend | ready | fps | draws | vertices | first frame |
|---|---|---|---|---|---|---|
responsive-egui00 |
compiler (JIT) | true | 60.1 | 8 | 2232 | 1035.8 ms |
responsive-egui |
compiler (JIT) | true | 60.1 | 8 | 2232 | 1154 ms |
Steady state measured by frame delta, not the reported counter: 304 frames in 5 s = 60.8 fps. Translation 176–187 ms.
Responsive contract holds under resize
Three breakpoints against the live host, no runtime restart, pvmReady stayed true across all resizes:
| breakpoint | viewport | canvas | fps | vertices |
|---|---|---|---|---|
| wide | 1000x800 | 1000x744 | 61.4 | 2232 |
| medium | 760x800 | 760x744 | 60.4 | 2096 |
| compact | 420x800 | 420x744 | 61.4 | 1828 |
Vertex count shifts per breakpoint, so the guest genuinely re-lays-out rather than scaling one fixed scene. Medium's 2096 matches the Epoca figure exactly — same artifact, two independent hosts.
Local suites on the rebased head: 27/27 sandbox, 2/2 PVM functional (1 skipped, needs CAR fixture paths).
This PR is MERGEABLE with all checks green and remains blocked only on REVIEW_REQUIRED, since I pushed the rebase and cannot self-approve.
ffdd7bf to
c6c21b5
Compare
c6c21b5 to
ea06865
Compare
|
Updated to host-rust-core #540 head 85effb1b05cdfefa1e48ba3b2da4fb58684cd780 and pvm-host-runtime v0.1.8 at 530885a9d6dbf5a2742d4f2ff9f5c71b05f2a762. All required checks, functional coverage, E2E, and westendli.dev deployment are green. Normal merge is blocked only by the required review policy; auto-merge is disabled for this repository. Ready for maintainer approval. |
Summary
accelerometerandgyroscopePermissions Policy only to verified PolkaVM product iframesEnable motionaction, relay origin-gated samples into the product sandbox, and dismiss the prompt after permission is grantedlocation.ancestorOriginswhen production referrer policy suppressesdocument.referrerVerification
data-pvm-ready=true/data-pvm-gpu=ready100dvh; with a 56 px topbar and 24 px bottom inset, the iframe exactly matched the remaining 729 px of an 809 px visible viewportbafybeialj2mvzxjaezlqfpk2quvhdm6eyrjns5cvz4dctdm7x4d6tah344Dependencies